今天來看看今天來看看私有化 (private)
Python本身沒有嚴謹定義private,所以應用上基本都是使用,雙底線命名規則。
我們今天依舊請到我們的bmiclass
#bmiclass.py
class health:
def __init__(self,h=0,w=0):
self.height=h
self.weight=w
def BMI(self):
return self.weight / ((self.height/100)**2)
現在的樣子是預設public外部都可存取的
那我們雙底線要加在哪呢~ 屬性、方法前加上 __ 即可成為私有屬性或私有方法
self.__height
self.__weight
def __BMI(self):
return self.__weight / ((self.__height/100)**2)
此時我們就能看到
此時如果要存取就要另外使用間接存取內部的函式的私有方法
class health:
def __init__(self,h=0,w=0):
self.__height=h
self.__weight=w
def __BMI(self):
return self.__weight / ((self.__height/100)**2)
def getBMI(self):
return self.__BMI()
def getHeight(self):
return self.__height
def getWeight(self):
return self.__weight